package src.E_Thread;

// 守护线程

/*
    线程分为 用户线程 和 守护线程
    虚拟机必须确保用户线程执行完毕
    虚拟机不用等待手护线程执行完毕，当进程中不存在非守护线程了,则守护线程自动销毁
    如 后台记录操作日志、监控内存、垃圾回收等等
*/
public class E14_ThreadDaemon {
    public static void main(String[] args) {
        Thread godThread = new Thread(new God());
        Thread meThread = new Thread(new Me());
        godThread.setDaemon(true);  // 设置该线程为守护线程。默认false为用户线程
        godThread.start(); // 用户线程跑完它会自动销毁(不管有没有跑完)
        meThread.start();
    }
}

// 上帝 （守护线程）
class God implements Runnable{
    @Override
    public void run() {
        while (true){
            System.out.println("上帝守护你！");
        }
    }
}

// 我 （用户线程）
class Me implements Runnable{
    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            System.out.println("我"+i);
        }
    }
}